﻿///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Feb  6 2009)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#include "TuxSpy_GUI.h"

///////////////////////////////////////////////////////////////////////////

MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, ID_DEFAULT );
	m_menubar = new wxMenuBar( 0 );
	m_fileMenu = new wxMenu();
	wxMenuItem* fileConnect;
	fileConnect = new wxMenuItem( m_fileMenu, ID_FILE_SITECONNECT, wxString( wxT("Connect...") ) , wxEmptyString, wxITEM_NORMAL );
	m_fileMenu->Append( fileConnect );
	
	wxMenuItem* m_separator1;
	m_separator1 = m_fileMenu->AppendSeparator();
	
	wxMenuItem* fileExit;
	fileExit = new wxMenuItem( m_fileMenu, ID_FILE_EXIT, wxString( wxT("E&xit") ) + wxT('\t') + wxT("Alt+F4"), wxT("Exit the application"), wxITEM_NORMAL );
	m_fileMenu->Append( fileExit );
	
	m_menubar->Append( m_fileMenu, wxT("&File") );
	
	m_setMenu = new wxMenu();
	wxMenuItem* setDatabase;
	setDatabase = new wxMenuItem( m_setMenu, ID_SET_DATABASE, wxString( wxT("Database") ) , wxEmptyString, wxITEM_NORMAL );
	m_setMenu->Append( setDatabase );
	
	wxMenuItem* setAlarm;
	setAlarm = new wxMenuItem( m_setMenu, ID_SET_ALARM, wxString( wxT("Alarm") ) , wxEmptyString, wxITEM_NORMAL );
	m_setMenu->Append( setAlarm );
	
	m_menubar->Append( m_setMenu, wxT("&Settings") );
	
	m_helpMenu = new wxMenu();
	wxMenuItem* helpContents;
	helpContents = new wxMenuItem( m_helpMenu, ID_HELP_CONTENT, wxString( wxT("Contents") ) + wxT('\t') + wxT("F1"), wxT("help content."), wxITEM_NORMAL );
	m_helpMenu->Append( helpContents );
	
	wxMenuItem* helpSupport;
	helpSupport = new wxMenuItem( m_helpMenu, ID_HELP_SUPPORT, wxString( wxT("Technical Support") ) , wxEmptyString, wxITEM_NORMAL );
	m_helpMenu->Append( helpSupport );
	
	wxMenuItem* helpCheckUpdate;
	helpCheckUpdate = new wxMenuItem( m_helpMenu, ID_HELP_UPDATE, wxString( wxT("Check for Update") ) , wxEmptyString, wxITEM_NORMAL );
	m_helpMenu->Append( helpCheckUpdate );
	
	helpResource = new wxMenu();
	wxMenuItem* helpResource_Tuxedo;
	helpResource_Tuxedo = new wxMenuItem( helpResource, ID_HELP_TUXRESOURCE, wxString( wxT("Tuxedo Forums") ) , wxEmptyString, wxITEM_NORMAL );
	helpResource->Append( helpResource_Tuxedo );
	
	wxMenuItem* helpResource_WebLogic;
	helpResource_WebLogic = new wxMenuItem( helpResource, ID_HELP_WLSRESOURCE, wxString( wxT("WebLogic Forums") ) , wxEmptyString, wxITEM_NORMAL );
	helpResource->Append( helpResource_WebLogic );
	
	m_helpMenu->Append( -1, wxT("Web Resource..."), helpResource );
	
	wxMenuItem* m_separator2;
	m_separator2 = m_helpMenu->AppendSeparator();
	
	wxMenuItem* helpAbout;
	helpAbout = new wxMenuItem( m_helpMenu, ID_HELP_ABOUT, wxString( wxT("&About FusionSpy") ) , wxT("Show info about this application"), wxITEM_NORMAL );
	m_helpMenu->Append( helpAbout );
	
	m_menubar->Append( m_helpMenu, wxT("&Help") );
	
	this->SetMenuBar( m_menubar );
	
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_PAINT, wxPaintEventHandler( MainFrame::OnPaint ) );
}

MainFrame::~MainFrame()
{
	// Disconnect Events
	this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( MainFrame::OnPaint ) );
}

WlsAlarmDlg::WlsAlarmDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* bSizer38;
	bSizer38 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer8;
	sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("For these happend(in one scan unit). Fill in Server Name in Blank.") ), wxVERTICAL );
	
	wxGridSizer* gSizer3;
	gSizer3 = new wxGridSizer( 3, 3, 0, 0 );
	
	m_chkSvrDied = new wxCheckBox( this, wxID_ANY, wxT("Server unstable or Died.  "), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkSvrDied, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSvrDiedList = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtSvrDiedList, 0, wxALL|wxEXPAND, 5 );
	
	m_button191 = new wxButton( this, wxID_ANY, wxT(".."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button191, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkFreeHeap = new wxCheckBox( this, wxID_ANY, wxT("JVM FreeHeap low than %"), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkFreeHeap, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtFreeHeapLow = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtFreeHeapLow, 0, wxALL|wxEXPAND, 5 );
	
	m_button20 = new wxButton( this, wxID_ANY, wxT("..."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button20, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkIdleThread = new wxCheckBox( this, wxID_ANY, wxT("Idle Thread low than %"), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkIdleThread, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtThreadLow = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtThreadLow, 0, wxALL|wxEXPAND, 5 );
	
	m_button21 = new wxButton( this, wxID_ANY, wxT("..."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button21, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkIdleJDBC = new wxCheckBox( this, wxID_ANY, wxT("Idle JDBC low than %"), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkIdleJDBC, 0, wxALL, 5 );
	
	m_txtJDBCLow = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtJDBCLow, 0, wxALL|wxEXPAND, 5 );
	
	sbSizer8->Add( gSizer3, 0, 0, 5 );
	
	bSizer38->Add( sbSizer8, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer81;
	sbSizer81 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("For these happend, do") ), wxHORIZONTAL );
	
	m_chkPlayMusic = new wxCheckBox( this, wxID_ANY, wxT("Play a Sound"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer81->Add( m_chkPlayMusic, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkEmail = new wxCheckBox( this, wxID_ANY, wxT("Email "), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkEmail->Enable( false );
	
	sbSizer81->Add( m_chkEmail, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkSMS = new wxCheckBox( this, wxID_ANY, wxT("SMS"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkSMS->Enable( false );
	
	sbSizer81->Add( m_chkSMS, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkThreadDump = new wxCheckBox( this, wxID_ANY, wxT("ThreadDump!"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkThreadDump->SetValue(true); 
	sbSizer81->Add( m_chkThreadDump, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_button19 = new wxButton( this, wxID_ANY, wxT("Action Setting"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer81->Add( m_button19, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizer38->Add( sbSizer81, 1, wxALL|wxEXPAND, 5 );
	
	m_staticline7 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizer38->Add( m_staticline7, 0, wxALL|wxEXPAND, 5 );
	
	m_sdbSizer6 = new wxStdDialogButtonSizer();
	m_sdbSizer6OK = new wxButton( this, wxID_OK );
	m_sdbSizer6->AddButton( m_sdbSizer6OK );
	m_sdbSizer6Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer6->AddButton( m_sdbSizer6Cancel );
	m_sdbSizer6->Realize();
	bSizer38->Add( m_sdbSizer6, 0, wxALL|wxEXPAND, 5 );
	
	this->SetSizer( bSizer38 );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WlsAlarmDlg::OnInitDialog ) );
	m_sdbSizer6OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsAlarmDlg::OnAlarmDlgOK ), NULL, this );
}

WlsAlarmDlg::~WlsAlarmDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WlsAlarmDlg::OnInitDialog ) );
	m_sdbSizer6OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsAlarmDlg::OnAlarmDlgOK ), NULL, this );
}

TuxAlarmDlg::TuxAlarmDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* bSizer38;
	bSizer38 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer8;
	sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("For these happend(in one scan unit). Fill in Server Name in Blank.") ), wxVERTICAL );
	
	wxGridSizer* gSizer3;
	gSizer3 = new wxGridSizer( 3, 3, 0, 0 );
	
	m_chkSvrDied = new wxCheckBox( this, wxID_ANY, wxT("Server Died.  "), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkSvrDied, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSvrDiedList = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtSvrDiedList, 0, wxALL|wxEXPAND, 5 );
	
	m_button191 = new wxButton( this, wxID_ANY, wxT(".."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button191, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkNoTran = new wxCheckBox( this, wxID_ANY, wxT("No Transaction LongTime."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkNoTran, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtNoTranList = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtNoTranList, 0, wxALL|wxEXPAND, 5 );
	
	m_button20 = new wxButton( this, wxID_ANY, wxT("..."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button20, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkLongBusy = new wxCheckBox( this, wxID_ANY, wxT("Busy for Long Time."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkLongBusy, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtLongBusyList = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtLongBusyList, 0, wxALL|wxEXPAND, 5 );
	
	m_button21 = new wxButton( this, wxID_ANY, wxT("..."), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_button21, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkQueuedThan = new wxCheckBox( this, wxID_ANY, wxT("When One Queued > "), wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_chkQueuedThan, 0, wxALL, 5 );
	
	m_txtQueuedThan = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	gSizer3->Add( m_txtQueuedThan, 0, wxALL|wxEXPAND, 5 );
	
	sbSizer8->Add( gSizer3, 0, 0, 5 );
	
	bSizer38->Add( sbSizer8, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer81;
	sbSizer81 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("For these happend, do") ), wxHORIZONTAL );
	
	m_chkPlayMusic = new wxCheckBox( this, wxID_ANY, wxT("Play a Sound"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer81->Add( m_chkPlayMusic, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkEmail = new wxCheckBox( this, wxID_ANY, wxT("Email "), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkEmail->Enable( false );
	
	sbSizer81->Add( m_chkEmail, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_chkSMS = new wxCheckBox( this, wxID_ANY, wxT("SMS"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkSMS->Enable( false );
	
	sbSizer81->Add( m_chkSMS, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_btnActSet = new wxButton( this, wxID_ANY, wxT("Action Setting"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer81->Add( m_btnActSet, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizer38->Add( sbSizer81, 1, wxALL|wxEXPAND, 5 );
	
	m_staticline7 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizer38->Add( m_staticline7, 0, wxALL|wxEXPAND, 5 );
	
	m_sdbSizer6 = new wxStdDialogButtonSizer();
	m_sdbSizer6OK = new wxButton( this, wxID_OK );
	m_sdbSizer6->AddButton( m_sdbSizer6OK );
	m_sdbSizer6Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer6->AddButton( m_sdbSizer6Cancel );
	m_sdbSizer6->Realize();
	bSizer38->Add( m_sdbSizer6, 0, wxALL|wxEXPAND, 5 );
	
	this->SetSizer( bSizer38 );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( TuxAlarmDlg::OnInitDialog ) );
	m_btnActSet->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxAlarmDlg::OnButtonActSetClick ), NULL, this );
	m_sdbSizer6OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxAlarmDlg::OnAlarmDlgOK ), NULL, this );
}

TuxAlarmDlg::~TuxAlarmDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( TuxAlarmDlg::OnInitDialog ) );
	m_btnActSet->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxAlarmDlg::OnButtonActSetClick ), NULL, this );
	m_sdbSizer6OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxAlarmDlg::OnAlarmDlgOK ), NULL, this );
}

ActionDlg::ActionDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer12;
	sbSizer12 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("PlaySound Setting") ), wxHORIZONTAL );
	
	m_staticText19 = new wxStaticText( this, wxID_ANY, wxT("SoundFile:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText19->Wrap( -1 );
	sbSizer12->Add( m_staticText19, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSoundFile = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer12->Add( m_txtSoundFile, 1, wxALL, 5 );
	
	m_btnSoundFile = new wxButton( this, wxID_ANY, wxT("Find..."), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer12->Add( m_btnSoundFile, 0, wxALL, 5 );
	
	mainSizer->Add( sbSizer12, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer13;
	sbSizer13 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("EMail Setting") ), wxVERTICAL );
	
	wxBoxSizer* bSizer45;
	bSizer45 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText20 = new wxStaticText( this, wxID_ANY, wxT("SMTP Svr:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText20->Wrap( -1 );
	bSizer45->Add( m_staticText20, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSMTPSvr = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer45->Add( m_txtSMTPSvr, 0, wxALL, 5 );
	
	m_staticText22 = new wxStaticText( this, wxID_ANY, wxT("User:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText22->Wrap( -1 );
	bSizer45->Add( m_staticText22, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSMTPUsr = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer45->Add( m_txtSMTPUsr, 2, wxALL, 5 );
	
	m_staticText23 = new wxStaticText( this, wxID_ANY, wxT("Pwd:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText23->Wrap( -1 );
	bSizer45->Add( m_staticText23, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtSMTPPwd = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer45->Add( m_txtSMTPPwd, 2, wxALL, 5 );
	
	sbSizer13->Add( bSizer45, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer46;
	bSizer46 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText24 = new wxStaticText( this, wxID_ANY, wxT("Mail To(;):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText24->Wrap( -1 );
	bSizer46->Add( m_staticText24, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtMailTo = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer46->Add( m_txtMailTo, 1, wxALL, 5 );
	
	sbSizer13->Add( bSizer46, 1, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizer13, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer14;
	sbSizer14 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("SMS Setting") ), wxHORIZONTAL );
	
	m_staticText21 = new wxStaticText( this, wxID_ANY, wxT("SMS To(;):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText21->Wrap( -1 );
	sbSizer14->Add( m_staticText21, 0, wxALL, 5 );
	
	m_txtSMSTo = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_txtSMSTo->Enable( false );
	
	sbSizer14->Add( m_txtSMSTo, 1, wxALL, 5 );
	
	mainSizer->Add( sbSizer14, 0, wxALL|wxEXPAND, 5 );
	
	m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	mainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
	
	m_sdbSizer2 = new wxStdDialogButtonSizer();
	m_sdbSizer2OK = new wxButton( this, wxID_OK );
	m_sdbSizer2->AddButton( m_sdbSizer2OK );
	m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer2->AddButton( m_sdbSizer2Cancel );
	m_sdbSizer2->Realize();
	mainSizer->Add( m_sdbSizer2, 0, wxALL|wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( ActionDlg::OnInitDlg ) );
	m_btnSoundFile->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ActionDlg::OnBtnSoundFile ), NULL, this );
	m_sdbSizer2OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ActionDlg::OnOKButton ), NULL, this );
}

ActionDlg::~ActionDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( ActionDlg::OnInitDlg ) );
	m_btnSoundFile->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ActionDlg::OnBtnSoundFile ), NULL, this );
	m_sdbSizer2OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ActionDlg::OnOKButton ), NULL, this );
}

WlsPanel::WlsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVECAPTIONTEXT ) );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sbSizerLeft;
	sbSizerLeft = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
	
	wxBoxSizer* bSizer9;
	bSizer9 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer18;
	bSizer18 = new wxBoxSizer( wxVERTICAL );
	
	m_lstStatus = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizer18->Add( m_lstStatus, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );
	
	bSizer9->Add( bSizer18, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer37;
	bSizer37 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnAlarm = new wxButton( this, ID_TUXEDO_ALARM, wxT("Alarm Set"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer37->Add( m_btnAlarm, 0, wxALL, 5 );
	
	m_chkSaveDB = new wxCheckBox( this, wxID_ANY, wxT("Record to Database!"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer37->Add( m_chkSaveDB, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	bSizer9->Add( bSizer37, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer38;
	bSizer38 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnControl = new wxButton( this, ID_MAIN_CONTROL, wxT("Start"), wxDefaultPosition, wxDefaultSize, 0 );
	m_btnControl->SetDefault(); 
	m_btnControl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	m_btnControl->SetForegroundColour( wxColour( 255, 0, 0 ) );
	
	bSizer38->Add( m_btnControl, 0, wxALL, 5 );
	
	m_staticText7 = new wxStaticText( this, wxID_ANY, wxT("Interval(S):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText7->Wrap( -1 );
	bSizer38->Add( m_staticText7, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtInterval = new wxTextCtrl( this, ID_TEXTCTRL_INTERVAL, wxT("30"), wxDefaultPosition, wxDefaultSize, 0 );
	m_txtInterval->SetMaxLength( 6 ); 
	m_txtInterval->SetMinSize( wxSize( 50,-1 ) );
	
	bSizer38->Add( m_txtInterval, 0, wxALL, 5 );
	
	bSizer9->Add( bSizer38, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer10;
	sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Logs") ), wxVERTICAL );
	
	m_txtSystem = new wxTextCtrl( this, ID_TEXTCTRL_SYSTEMINFO, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_WORDWRAP|wxNO_BORDER );
	m_txtSystem->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_ACTIVECAPTION ) );
	
	sbSizer10->Add( m_txtSystem, 1, wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer22;
	bSizer22 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnClearLog = new wxButton( this, wxID_ANY, wxT("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer22->Add( m_btnClearLog, 0, 0, 5 );
	
	sbSizer10->Add( bSizer22, 0, wxALIGN_RIGHT, 5 );
	
	bSizer9->Add( sbSizer10, 2, wxEXPAND, 5 );
	
	sbSizerLeft->Add( bSizer9, 2, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizerLeft, 1, wxEXPAND, 4 );
	
	wxStaticBoxSizer* sbSizerRight;
	sbSizerRight = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
	
	wxBoxSizer* bSizerServer;
	bSizerServer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer8;
	bSizer8 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText71 = new wxStaticText( this, wxID_ANY, wxT("Servers:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText71->Wrap( -1 );
	bSizer8->Add( m_staticText71, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizerServer->Add( bSizer8, 0, wxEXPAND, 5 );
	
	m_lstSvrInfo = new wxListCtrl( this, ID_LISTCTRL_SVRINFO, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerServer->Add( m_lstSvrInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerServer, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerQueue;
	bSizerQueue = new wxBoxSizer( wxVERTICAL );
	
	m_staticText711 = new wxStaticText( this, wxID_ANY, wxT("JVM List:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText711->Wrap( -1 );
	bSizerQueue->Add( m_staticText711, 0, wxALL, 5 );
	
	m_lstJvmInfo = new wxListCtrl( this, ID_LISTCTRL_QUEINFO, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerQueue->Add( m_lstJvmInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerQueue, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerThread;
	bSizerThread = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer82;
	bSizer82 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText712 = new wxStaticText( this, wxID_ANY, wxT("Thread List:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText712->Wrap( -1 );
	bSizer82->Add( m_staticText712, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizerThread->Add( bSizer82, 0, wxEXPAND, 5 );
	
	m_lstThdInfo = new wxListCtrl( this, ID_LISTCTRL_CLT, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerThread->Add( m_lstThdInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerThread, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerJDBC;
	bSizerJDBC = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer821;
	bSizer821 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText7121 = new wxStaticText( this, wxID_ANY, wxT("JDBC Pool List:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText7121->Wrap( -1 );
	bSizer821->Add( m_staticText7121, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizerJDBC->Add( bSizer821, 0, wxEXPAND, 5 );
	
	m_lstJDBCInfo = new wxListCtrl( this, ID_LISTCTRL_CLT, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerJDBC->Add( m_lstJDBCInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerJDBC, 1, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizerRight, 2, wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WlsPanel::OnInitDialog ) );
	m_btnAlarm->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnAlarmSet ), NULL, this );
	m_btnControl->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnControl ), NULL, this );
	m_btnClearLog->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnBtnLogClear ), NULL, this );
}

WlsPanel::~WlsPanel()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WlsPanel::OnInitDialog ) );
	m_btnAlarm->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnAlarmSet ), NULL, this );
	m_btnControl->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnControl ), NULL, this );
	m_btnClearLog->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WlsPanel::OnBtnLogClear ), NULL, this );
}

TuxPanel::TuxPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVECAPTIONTEXT ) );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sbSizerLeft;
	sbSizerLeft = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
	
	wxBoxSizer* bSizer9;
	bSizer9 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer18;
	bSizer18 = new wxBoxSizer( wxVERTICAL );
	
	m_lstStatus = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizer18->Add( m_lstStatus, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );
	
	bSizer9->Add( bSizer18, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer37;
	bSizer37 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnAlarm = new wxButton( this, ID_TUXEDO_ALARM, wxT("Alarm Set"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer37->Add( m_btnAlarm, 0, wxALL, 5 );
	
	m_chkSaveDB = new wxCheckBox( this, wxID_ANY, wxT("Record to Database!"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer37->Add( m_chkSaveDB, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	bSizer9->Add( bSizer37, 0, 0, 5 );
	
	wxBoxSizer* bSizer38;
	bSizer38 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnControl = new wxButton( this, ID_MAIN_CONTROL, wxT("Start"), wxDefaultPosition, wxDefaultSize, 0 );
	m_btnControl->SetDefault(); 
	m_btnControl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	m_btnControl->SetForegroundColour( wxColour( 255, 0, 0 ) );
	
	bSizer38->Add( m_btnControl, 0, wxALL, 5 );
	
	m_staticText7 = new wxStaticText( this, wxID_ANY, wxT("Interval(S):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText7->Wrap( -1 );
	bSizer38->Add( m_staticText7, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_txtInterval = new wxTextCtrl( this, ID_TEXTCTRL_INTERVAL, wxT("30"), wxDefaultPosition, wxDefaultSize, 0 );
	m_txtInterval->SetMaxLength( 6 ); 
	m_txtInterval->SetMinSize( wxSize( 50,-1 ) );
	
	bSizer38->Add( m_txtInterval, 0, wxALL, 5 );
	
	bSizer9->Add( bSizer38, 0, 0, 5 );
	
	wxStaticBoxSizer* sbSizer10;
	sbSizer10 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Logs") ), wxVERTICAL );
	
	m_txtSystem = new wxTextCtrl( this, ID_TEXTCTRL_SYSTEMINFO, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_WORDWRAP|wxNO_BORDER );
	m_txtSystem->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_ACTIVECAPTION ) );
	
	sbSizer10->Add( m_txtSystem, 1, wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer22;
	bSizer22 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnClearLog = new wxButton( this, wxID_ANY, wxT("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer22->Add( m_btnClearLog, 0, wxALL, 5 );
	
	sbSizer10->Add( bSizer22, 0, wxALIGN_RIGHT, 5 );
	
	bSizer9->Add( sbSizer10, 2, wxEXPAND, 5 );
	
	sbSizerLeft->Add( bSizer9, 2, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizerLeft, 1, wxEXPAND, 4 );
	
	wxStaticBoxSizer* sbSizerRight;
	sbSizerRight = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
	
	wxBoxSizer* bSizerServer;
	bSizerServer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer8;
	bSizer8 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText71 = new wxStaticText( this, wxID_ANY, wxT("Servers:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText71->Wrap( -1 );
	bSizer8->Add( m_staticText71, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer8->Add( 0, 0, 0, wxEXPAND, 5 );
	
	wxString m_chsServerChoices[] = { wxT("All Servers"), wxT("Idle Servers"), wxT("Busy Servers") };
	int m_chsServerNChoices = sizeof( m_chsServerChoices ) / sizeof( wxString );
	m_chsServer = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_chsServerNChoices, m_chsServerChoices, 0 );
	m_chsServer->SetSelection( 0 );
	bSizer8->Add( m_chsServer, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_checkBoxSvrFilter = new wxCheckBox( this, wxID_ANY, wxT("Only Show(';')"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer8->Add( m_checkBoxSvrFilter, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_textSvrFilter = new wxTextCtrl( this, ID_TEXT_SVRFILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_textSvrFilter->Enable( false );
	
	bSizer8->Add( m_textSvrFilter, 1, wxALL|wxEXPAND, 5 );
	
	m_button20 = new wxButton( this, ID_BUTTON_SVRFILTER, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer8->Add( m_button20, 0, wxALL, 5 );
	
	bSizerServer->Add( bSizer8, 0, wxEXPAND, 5 );
	
	m_lstSvrInfo = new wxListCtrl( this, ID_LISTCTRL_SVRINFO, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerServer->Add( m_lstSvrInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerServer, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerQueue;
	bSizerQueue = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer81;
	bSizer81 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText711 = new wxStaticText( this, wxID_ANY, wxT("Queues:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText711->Wrap( -1 );
	bSizer81->Add( m_staticText711, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer81->Add( 0, 0, 0, wxEXPAND, 5 );
	
	wxString m_chsQueueChoices[] = { wxT("All Queues"), wxT("Idle Queues"), wxT("Busy Queues") };
	int m_chsQueueNChoices = sizeof( m_chsQueueChoices ) / sizeof( wxString );
	m_chsQueue = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_chsQueueNChoices, m_chsQueueChoices, 0 );
	m_chsQueue->SetSelection( 0 );
	bSizer81->Add( m_chsQueue, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_checkBoxQueFilter = new wxCheckBox( this, wxID_ANY, wxT("Only Show(';')"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer81->Add( m_checkBoxQueFilter, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_textQueFilter = new wxTextCtrl( this, ID_TEXT_QUEFILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_textQueFilter->Enable( false );
	
	bSizer81->Add( m_textQueFilter, 1, wxALL|wxEXPAND, 5 );
	
	m_button21 = new wxButton( this, ID_BUTTON_QUEFILTER, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer81->Add( m_button21, 0, wxALL, 5 );
	
	bSizerQueue->Add( bSizer81, 0, wxEXPAND, 5 );
	
	m_lstQueInfo = new wxListCtrl( this, ID_LISTCTRL_QUEINFO, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerQueue->Add( m_lstQueInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerQueue, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerOther;
	bSizerOther = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer82;
	bSizer82 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText712 = new wxStaticText( this, wxID_ANY, wxT("Clients:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText712->Wrap( -1 );
	bSizer82->Add( m_staticText712, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer82->Add( 0, 0, 0, wxEXPAND, 5 );
	
	m_button32 = new wxButton( this, wxID_ANY, wxT("Custome View"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button32->Hide();
	
	bSizer82->Add( m_button32, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizerOther->Add( bSizer82, 0, wxEXPAND, 5 );
	
	m_lstCltInfo = new wxListCtrl( this, ID_LISTCTRL_CLT, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
	bSizerOther->Add( m_lstCltInfo, 1, wxALL|wxEXPAND, 5 );
	
	sbSizerRight->Add( bSizerOther, 1, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizerRight, 2, wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( TuxPanel::OnInitDialog ) );
	m_btnAlarm->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnAlarmSet ), NULL, this );
	m_btnClearLog->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnBtnLogClear ), NULL, this );
	m_chsServer->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( TuxPanel::OnChsServer ), NULL, this );
	m_checkBoxSvrFilter->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TuxPanel::OnSvrFilterCheck ), NULL, this );
	m_button20->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnSvrFilterApply ), NULL, this );
	m_lstSvrInfo->Connect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( TuxPanel::OnSvrListColClick ), NULL, this );
	m_chsQueue->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( TuxPanel::OnChsQueue ), NULL, this );
	m_checkBoxQueFilter->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TuxPanel::OnQueFilterCheck ), NULL, this );
	m_button21->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnQueFilterApply ), NULL, this );
}

TuxPanel::~TuxPanel()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( TuxPanel::OnInitDialog ) );
	m_btnAlarm->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnAlarmSet ), NULL, this );
	m_btnClearLog->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnBtnLogClear ), NULL, this );
	m_chsServer->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( TuxPanel::OnChsServer ), NULL, this );
	m_checkBoxSvrFilter->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TuxPanel::OnSvrFilterCheck ), NULL, this );
	m_button20->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnSvrFilterApply ), NULL, this );
	m_lstSvrInfo->Disconnect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( TuxPanel::OnSvrListColClick ), NULL, this );
	m_chsQueue->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( TuxPanel::OnChsQueue ), NULL, this );
	m_checkBoxQueFilter->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( TuxPanel::OnQueFilterCheck ), NULL, this );
	m_button21->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( TuxPanel::OnQueFilterApply ), NULL, this );
}

AboutDlg::AboutDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* infoSizer;
	infoSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
	
	wxBoxSizer* bSizer10;
	bSizer10 = new wxBoxSizer( wxVERTICAL );
	
	m_bitmapLogo = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 272,101 ), 0 );
	bSizer10->Add( m_bitmapLogo, 1, wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* textSizer;
	textSizer = new wxBoxSizer( wxVERTICAL );
	
	m_staticVersion = new wxStaticText( this, ID_ABOUT_VERSION, wxT("FusionSpy - Version 3.2"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
	m_staticVersion->Wrap( -1 );
	textSizer->Add( m_staticVersion, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
	
	bSizer10->Add( textSizer, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
	
	infoSizer->Add( bSizer10, 0, 0, 5 );
	
	m_staticline1 = new wxStaticLine( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	infoSizer->Add( m_staticline1, 0, wxALL|wxEXPAND, 5 );
	
	m_staticCopyright = new wxStaticText( this, ID_ABOUT_COPYRIGHT, wxT("Copyright © 2008 - 2010 S && D"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
	m_staticCopyright->Wrap( -1 );
	infoSizer->Add( m_staticCopyright, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_hyperlink1 = new wxHyperlinkCtrl( this, wxID_ANY, wxT("www.fusionspy.com"), wxT("www.fusionspy.com"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
	infoSizer->Add( m_hyperlink1, 0, wxEXPAND, 5 );
	
	mainSizer->Add( infoSizer, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	m_aboutDialogButtonSizer = new wxStdDialogButtonSizer();
	m_aboutDialogButtonSizerOK = new wxButton( this, wxID_OK );
	m_aboutDialogButtonSizer->AddButton( m_aboutDialogButtonSizerOK );
	m_aboutDialogButtonSizer->Realize();
	mainSizer->Add( m_aboutDialogButtonSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
}

AboutDlg::~AboutDlg()
{
}

DatabaseDlg::DatabaseDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* SettingSizer;
	SettingSizer = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText14 = new wxStaticText( this, wxID_ANY, wxT("Database:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText14->Wrap( -1 );
	SettingSizer->Add( m_staticText14, 0, wxALL, 5 );
	
	m_txtDBFileDir = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
	m_txtDBFileDir->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
	
	SettingSizer->Add( m_txtDBFileDir, 1, wxALL, 5 );
	
	mainSizer->Add( SettingSizer, 0, wxEXPAND, 5 );
	
	m_btnCreateDB = new wxButton( this, ID_BUTTON_INITDB, wxT("Backup && New database!"), wxDefaultPosition, wxDefaultSize, 0 );
	m_btnCreateDB->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	m_btnCreateDB->SetForegroundColour( wxColour( 255, 0, 0 ) );
	m_btnCreateDB->Hide();
	
	mainSizer->Add( m_btnCreateDB, 0, wxALIGN_RIGHT|wxRIGHT, 5 );
	
	m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	mainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
	
	m_sdbSizer2 = new wxStdDialogButtonSizer();
	m_sdbSizer2OK = new wxButton( this, wxID_OK );
	m_sdbSizer2->AddButton( m_sdbSizer2OK );
	m_sdbSizer2->Realize();
	mainSizer->Add( m_sdbSizer2, 1, wxALL|wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DatabaseDlg::OnInitDlg ) );
}

DatabaseDlg::~DatabaseDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DatabaseDlg::OnInitDlg ) );
}

NewSiteDlg::NewSiteDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer16;
	sbSizer16 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Agent Setting") ), wxVERTICAL );
	
	wxBoxSizer* SettingSizer;
	SettingSizer = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText25 = new wxStaticText( this, wxID_ANY, wxT("Name(*):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText25->Wrap( -1 );
	SettingSizer->Add( m_staticText25, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_textSiteName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	SettingSizer->Add( m_textSiteName, 1, wxALL, 5 );
	
	wxString m_choiceProductsChoices[] = { wxT("Tuxedo"), wxT("WebLogic") };
	int m_choiceProductsNChoices = sizeof( m_choiceProductsChoices ) / sizeof( wxString );
	m_choiceProducts = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceProductsNChoices, m_choiceProductsChoices, 0 );
	m_choiceProducts->SetSelection( 1 );
	SettingSizer->Add( m_choiceProducts, 0, wxALL|wxEXPAND, 5 );
	
	sbSizer16->Add( SettingSizer, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer19;
	bSizer19 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText17 = new wxStaticText( this, wxID_ANY, wxT("Agent IP:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText17->Wrap( -1 );
	bSizer19->Add( m_staticText17, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_textSiteIP = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( m_textSiteIP, 2, wxALL|wxEXPAND, 5 );
	
	m_staticText18 = new wxStaticText( this, wxID_ANY, wxT("Port:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText18->Wrap( -1 );
	bSizer19->Add( m_staticText18, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_textSitePort = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_textSitePort->SetMaxLength( 5 ); 
	bSizer19->Add( m_textSitePort, 1, wxALL, 5 );
	
	sbSizer16->Add( bSizer19, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer45;
	bSizer45 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText251 = new wxStaticText( this, wxID_ANY, wxT("Database:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText251->Wrap( -1 );
	bSizer45->Add( m_staticText251, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_textDatabaseFile = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	m_textDatabaseFile->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
	m_textDatabaseFile->Enable( false );
	
	bSizer45->Add( m_textDatabaseFile, 1, wxALL|wxEXPAND, 5 );
	
	sbSizer16->Add( bSizer45, 0, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizer16, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer15;
	sbSizer15 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("WebLogic") ), wxVERTICAL );
	
	wxBoxSizer* bSizer44;
	bSizer44 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText24 = new wxStaticText( this, wxID_ANY, wxT("WebLogicServer Version:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText24->Wrap( -1 );
	bSizer44->Add( m_staticText24, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	wxString m_choiceWlsVersionChoices[] = { wxT("WebLogic 8.x"), wxT("WebLogic 9.x"), wxT("WebLogic 10.x") };
	int m_choiceWlsVersionNChoices = sizeof( m_choiceWlsVersionChoices ) / sizeof( wxString );
	m_choiceWlsVersion = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceWlsVersionNChoices, m_choiceWlsVersionChoices, 0 );
	m_choiceWlsVersion->SetSelection( 0 );
	bSizer44->Add( m_choiceWlsVersion, 1, wxALL, 5 );
	
	sbSizer15->Add( bSizer44, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer20;
	bSizer20 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText171 = new wxStaticText( this, wxID_ANY, wxT("WebLogic Console Port:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText171->Wrap( -1 );
	bSizer20->Add( m_staticText171, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_textAdminURL = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer20->Add( m_textAdminURL, 1, wxALL|wxEXPAND, 5 );
	
	sbSizer15->Add( bSizer20, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer201;
	bSizer201 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText14 = new wxStaticText( this, wxID_ANY, wxT("WebLogic Console User:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText14->Wrap( -1 );
	bSizer201->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_textSiteWlsUser = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer201->Add( m_textSiteWlsUser, 2, wxALL, 5 );
	
	sbSizer15->Add( bSizer201, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer2011;
	bSizer2011 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText141 = new wxStaticText( this, wxID_ANY, wxT("WebLogic Console Pwd:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText141->Wrap( -1 );
	bSizer2011->Add( m_staticText141, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_textSiteWlsPwd = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer2011->Add( m_textSiteWlsPwd, 2, wxALL, 5 );
	
	sbSizer15->Add( bSizer2011, 0, wxEXPAND, 5 );
	
	mainSizer->Add( sbSizer15, 0, wxEXPAND, 5 );
	
	m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	mainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
	
	m_sdbSizer2 = new wxStdDialogButtonSizer();
	m_sdbSizer2OK = new wxButton( this, wxID_OK );
	m_sdbSizer2->AddButton( m_sdbSizer2OK );
	m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer2->AddButton( m_sdbSizer2Cancel );
	m_sdbSizer2->Realize();
	mainSizer->Add( m_sdbSizer2, 1, wxALL|wxEXPAND, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( NewSiteDlg::OnInitDlg ) );
	m_textSiteName->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( NewSiteDlg::OnLeaveSiteName ), NULL, this );
	m_choiceProducts->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( NewSiteDlg::OnProductChoice ), NULL, this );
	m_sdbSizer2OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NewSiteDlg::OnOKButton ), NULL, this );
}

NewSiteDlg::~NewSiteDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( NewSiteDlg::OnInitDlg ) );
	m_textSiteName->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( NewSiteDlg::OnLeaveSiteName ), NULL, this );
	m_choiceProducts->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( NewSiteDlg::OnProductChoice ), NULL, this );
	m_sdbSizer2OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NewSiteDlg::OnOKButton ), NULL, this );
}

SiteListDlg::SiteListDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* mainSizer;
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* SettingSizer;
	SettingSizer = new wxBoxSizer( wxVERTICAL );
	
	m_lstSiteList = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VRULES );
	SettingSizer->Add( m_lstSiteList, 1, wxALL|wxEXPAND, 5 );
	
	mainSizer->Add( SettingSizer, 1, wxEXPAND, 5 );
	
	m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	mainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
	
	wxBoxSizer* bSizer31;
	bSizer31 = new wxBoxSizer( wxHORIZONTAL );
	
	wxBoxSizer* bSizer47;
	bSizer47 = new wxBoxSizer( wxVERTICAL );
	
	m_checkBox19 = new wxCheckBox( this, wxID_ANY, wxT("Delete db when delete site"), wxDefaultPosition, wxDefaultSize, 0 );
	m_checkBox19->SetValue(true); 
	m_checkBox19->Enable( false );
	
	bSizer47->Add( m_checkBox19, 0, wxALL, 5 );
	
	bSizer31->Add( bSizer47, 0, 0, 5 );
	
	wxBoxSizer* bSizer48;
	bSizer48 = new wxBoxSizer( wxHORIZONTAL );
	
	m_btnSiteAdd = new wxButton( this, ID_BUTTON_SITEADD, wxT("Add"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer48->Add( m_btnSiteAdd, 0, wxBOTTOM|wxRIGHT, 5 );
	
	m_btnSiteModify = new wxButton( this, ID_BUTTON_SITEOMDIFY, wxT("Edit"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer48->Add( m_btnSiteModify, 0, wxRIGHT, 5 );
	
	m_btnSiteDelete = new wxButton( this, ID_BUTTON_SITEDELETE, wxT("Delete"), wxDefaultPosition, wxDefaultSize, 0 );
	m_btnSiteDelete->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	m_btnSiteDelete->SetForegroundColour( wxColour( 255, 0, 0 ) );
	
	bSizer48->Add( m_btnSiteDelete, 0, wxRIGHT, 5 );
	
	m_btnSiteConnect = new wxButton( this, ID_BUTTON_SITECONNECT, wxT("Connect"), wxDefaultPosition, wxDefaultSize, 0 );
	m_btnSiteConnect->SetDefault(); 
	bSizer48->Add( m_btnSiteConnect, 0, wxRIGHT, 5 );
	
	bSizer31->Add( bSizer48, 1, wxALIGN_RIGHT|wxEXPAND, 5 );
	
	mainSizer->Add( bSizer31, 0, 0, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( SiteListDlg::OnInitDlg ) );
	m_lstSiteList->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( SiteListDlg::OnListItemSelected ), NULL, this );
	m_btnSiteAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteAdd ), NULL, this );
	m_btnSiteModify->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteModify ), NULL, this );
	m_btnSiteDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteDelete ), NULL, this );
	m_btnSiteConnect->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteConnect ), NULL, this );
}

SiteListDlg::~SiteListDlg()
{
	// Disconnect Events
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( SiteListDlg::OnInitDlg ) );
	m_lstSiteList->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( SiteListDlg::OnListItemSelected ), NULL, this );
	m_btnSiteAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteAdd ), NULL, this );
	m_btnSiteModify->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteModify ), NULL, this );
	m_btnSiteDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteDelete ), NULL, this );
	m_btnSiteConnect->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SiteListDlg::OnSiteConnect ), NULL, this );
}
